/*
    Create by 林才灿
    这个定义直接来自 Mark.Allen.Weiss的《数据结构和算法分析——C语言描述》
*/
#ifndef _Stack_h

typedef char ElementStack;

struct stack_node;
typedef struct stack_node *PStackToNode;
typedef PStackToNode Stack;

int IsStackEmpty(Stack S);
Stack CreateStack(void);
void DisposeStack(Stack S);         // 释放栈
void MakeStackEmpty(Stack S);
void PushStack(ElementStack X,Stack S);
ElementStack TopStack(Stack S);
void PopStack(Stack S);

struct stack_node
{
    ElementStack e;      
    PStackToNode next;
};

#endif

// end of file ----------------------------------------------------------------
